Hooks and the status line
What tokunseba registers in Claude Code, and what it deliberately does not.
The status line
tokunseba statuslineReads the host tool's JSON event on stdin and prints one line: whether the proxy is in the path, the context this session is carrying, and what has been kept off the wire today.
tokunseba init registers it with Claude Code automatically. init --no-hooks skips that.
Hooks
tokunseba hook claude-codeThe hook entry point, invoked by the host tool with a JSON event on stdin. It is used for session bookkeeping: recording which working directory a session belongs to, so reports can be grouped by project, and noticing when a session starts so the A/B arm can be drawn once.
What it deliberately does not do
It does not rewrite your shell commands.
Claude Code's documented way for a hook to modify a tool's input also requires auto-approving that input. Using it would mean tokunseba silently bypassing your own permission prompt for a command it had just edited. That is not a trade worth making for token savings.
If you want a command's output compressed, run it explicitly:
tokunseba run -- pytest -qor tell your agent to. The output arrives compressed, with a handle, and your permission prompt still happened for the command you actually approved.
Removing them
tokunseba off restores the settings file from the backup made at init time, which removes
the hooks and the status line along with everything else.
To keep the proxy but drop the hooks, run tokunseba off and then re-run
tokunseba init --no-hooks.