fettle 0.1.1

Put Claude Code's file tools in fine fettle. Removes artificial size limits on reads and the read-before-write gate on writes.
fettle-0.1.1 is not a library.

fettle

Put your file tools in fine fettle. Replaces Claude Code's constrained file tools with proper, unrestricted alternatives.

The Problem

Claude Code's built-in Read and Write tools have artificial limits:

  • Read fails on text files over 25,000 tokens (~1,500 lines of code) or 256KB
  • Read silently truncates files between 48-126KB to a 2KB preview
  • Write refuses to write if you haven't Read the file first in the current session
  • The docs claim lines over 2,000 characters are truncated. They aren't.

Images, PDFs, and notebooks are fine — the limits only affect text files, which is most of what coding agents work with.

What fettle Does

fettle installs as Claude Code pre-tool-use hooks. It transparently intercepts Read and Write calls:

  • Text files ≥ 48KB → fettle reads them directly, no token limits, no size caps
  • Text files < 48KB → passed through to builtins (they work fine here)
  • Images, PDFs, notebooks → passed through to builtins (multimodal rendering)
  • All writes → fettle handles directly, no read-before-write gate

Agents don't need to change anything. They call Read and Write as normal. fettle makes them work.

Install

cargo install fettle
fettle install  # sets up Claude Code hooks

CLI Usage

Also works as a standalone tool:

fettle read src/main.rs                  # full file, cat -n formatting
fettle read big_file.rs --offset 100 --limit 50  # chunked
fettle write output.txt                  # reads content from stdin
fettle info                              # show config and detected limits

The Name

Fettle — to put in proper working order (British English). "In fine fettle" means in excellent condition. That's what this tool does: puts Claude Code's file tools in fine fettle.

The built-in Read throws a fit at 48KB. Write refuses to work unless you've read the file first. These tools are not in fine fettle. This tool fixes that.

Empirical Testing

All limits were empirically tested, not assumed from documentation (which turned out to be wrong about several things).

Scenario Built-in fettle
2,000-line source file Token error Works
500KB log file Size error Works
Write after creating file via shell "Read it first" Works
8MB PNG screenshot Works Passes through
50-page PDF Works Passes through

License

Apache 2.0