Clean up Claude 5's token vomit with a separate LLM
🤮 Vomit: Refining Claude 5's Token Chaos
Vomit is a specialized utility designed to translate the "token vomit" produced by Claude 5 into coherent, readable English. It achieves this by routing the messy output through a secondary, local Large Language Model (LLM).
Claude 5 is hopeless Vomit makes it usable.
🛠️ System Architecture
The tool operates as a middleware layer that intercepts and cleanses data. Here is the conceptual flow of how the processing works:
⚠️ Critical Disclaimers
Before deploying this tool, please be aware of the following limitations:
[!IMPORTANT]
- Hallucinations: Because the local LLM only sees the communication stream—and lacks access to the actual files or actions Claude is performing—it may occasionally invent details.
- Performance: The process is relatively slow.
- Stability: This project is "vibe-coded" and has been verified exclusively on macOS.
- Reliability: There is a non-zero probability that some of Claude's messages may be missed entirely.
🚀 Getting Started
To get the system up and running, follow this checklist:
- Install the Go environment.
- Download the binary.
- Configure the local LLM connection.
- Set up the scrubbing hooks.
Installation & Setup
First, install the binary directly to your GOPATH:
go install github.com/zachahn/vomit@latest
Next, initialize your connection settings to link the tool with your local LLM:
vomit init
To automatically replace Claude's output using hooks, execute:
vomit scrub -claude
📖 Usage Guide
Vomit offers both invasive (hook-based) and non-invasive modes. If you prefer to run it alongside your session without modifying the runtime, use the following commands:
| Command | Description |
|---|---|
vomit tail [session_id] | Lists session IDs or translates tokens for a specific/latest session. |
vomit help | Displays the full manual and available commands. |
vomit scrub | Cleanses the output stream. |
Technical Nuances
Vomit is designed to be non-invasive; it does not alter the runtime environment, though it does write temporary files to your TMPDIR. If you need to retrieve the original, uncleaned messages, it is recommended to use a tool like AgentsView.
💻 Compatibility & Recommendations
The tool is designed to work with various local LLM providers. The compatibility can be expressed as:
Recommended Stack: If you haven't configured a local model yet, the author suggests:
- Installing
Llama.app. - Downloading the
GPT-OSS 20Bmodel.
📄 Project Metadata
- License: GNU GPLv3
- Telemetry: (Fully local)
- Dependencies:
- Source:
zachahn/vomiton GitHub
For more detailed insights, you can read the original blog post at https://zachahn.com/posts/1787191554.