Sandbox
@zachahn/vomit

Claude Code hook for local output rewriting

Vomit sits between Claude Code and your terminal output, sending Claude's text through a local LLM so the result is easier to read. The hook path rewrites output inside the Claude Code UI, and the CLI also includes `init`, `scrub`, `list`, and `tail` commands for setup and side-by-side use.

193 stars7 forksGoUpdated 7d ago
Who it's for

Builders who use Claude Code and want to read cleaner agent output without leaving their terminal.

What it delivers

You can keep using Claude Code while replacing its noisy output with plain English from a local model.

What it does

Claude Code output rewriting

Hooks into Claude Code and rewrites terminal output inside the Claude Code UI.

Local LLM translation

Sends Claude's text through a local model such as Ollama, Llama.app, or Apfel.

Fully local operation

Runs without telemetry or external dependencies.

Setup command

`vomit init` stores the connection details for your local LLM.

Hook installation command

`vomit scrub -claude` prints the instructions for replacing Claude output with the hook.

Session tools

`vomit list` and `vomit tail` let you inspect or follow Claude sessions in the side-channel mode.

How to get it

  1. 1Run
    # Install the binary to your GOPATH
    go install github.com/zachahn/vomit@latest
    
    # Setup connection details to your LLM
    vomit init
    
    # Instructions on how to replace Claude's output via hooks
    vomit scrub -claude

README

Vomit

Vomit converts Claude's token vomit into English by piping it through a local LLM. It's fully local (no telemetry) and has no external dependencies.

Vomit hooks into Claude Code, rewriting all its output within the Claude Code terminal UI.

Disclaimer:

  • The local LLM can only see what Claude tries to communicate (no access to any actions or files), so it can hallucinate a bit
  • This is totally vibe-coded, only tested on Mac
  • It's pretty slow

Install

# Install the binary to your GOPATH
go install github.com/zachahn/vomit@latest

# Setup connection details to your LLM
vomit init

# Instructions on how to replace Claude's output via hooks
vomit scrub -claude

Usage

In addition, there's a non-invasive mode if you want to run Vomit on the side. (This is deprecated.)

  • vomit list. List Claude session identifiers
  • vomit tail [<session_identifier>]. Translate Claude's tokens for the specified session, or follow the latest one
  • vomit help. See for more commands

This should work with:

  • Llama.app
  • Ollama
  • Apfel (Super convenient if you have MacOS 26+, but not very good.)
  • Anything that uses the OpenAI API?

If you don't have a local LLM set up already, I think I recommend using Llama.app, and downloading GPT-OSS 20B through it. Run the init subcommand after you set this up.

Tips

  • You can press ctrl-o within Claude Code to get Claude's original output.

License

GNU GPLv3

Files in the repo

Repository payload17 top-level entries
  • cmd
  • internal
  • .gitignore
  • CLAUDE.md
  • go.mod
  • init.go
  • LICENSE
  • list.go
  • main_test.go
  • main.go
  • printer.go
  • Rakefile
  • README.md
  • scrub_test.go
  • scrub.go
  • tail.go
  • version.go

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More hooks

CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies

80k

Warcraft III Peon voice notifications (+ more!) for Claude Code, Codex, IDEs, and any AI agent. Stop babysitting your terminal. Employ a Peon today.

5k
bahni-m/
code-with-quran

Read the Qur'an while Claude Code works. Start a session with 'claude --cwq' and a reader beside it walks forward through the Qur'an one ayah per prompt, resuming where you left off — in a terminal pane or a browser tab. Zero dependencies, fully offline.

48

A pre-execution guard for AI coding agents. It blocks destructive Git and file system commands, plus common attempts to access sensitive files, before a tool call runs. Supports Amp Code, Antigravity CLI, Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot CLI, Grok Build, Hermes Agent, Kimi Code, OpenClaw, OpenCode, and Pi.

1.5k