---
type: "post"
id: "avoiding-being-a-meat-proxy-with-claude-code-21e7c2"
slug: "avoiding-being-a-meat-proxy-with-claude-code-21e7c2"
title: "Avoiding being a Meat Proxy with Claude Code Mods"
description: "A developer used Claude Code Mods to change the existing /copy command so copied assistant text includes the model name and an attribution wrapper."
retrieval_nugget: "A developer used Claude Code Mods to change the existing /copy command so copied assistant text includes the model name and an attribution wrapper. The example shows how a user can adapt a coding-agent harness to a personal workflow without introducing a new command or changing their muscle memory."
published_at: "2026-11-05"
updated_at: "2026-11-06"
record_date: "2026-11-05"
date_kind: "published_at"
topics: ["claude","claude-code"]
entities: ["Claude Code","Claude Code Mods","Vsevolod Vikulin"]
related_patterns: ["harness-architecture-outlives-model-choice"]
novelty_label: "new_fact"
what_changed: "The author shows a practical Claude Code Mod that intercepts /copy to add model attribution to copied LLM text."
prior_refs: ["https://newruntime.com/posts/claude-mods-flipping-the-harness-inside-out-11-33c280/"]
source_url: "https://www.jvt.me/posts/2026/11/03/honest-claude-meatproxy"
source_urls: ["https://www.jvt.me/posts/2026/11/03/honest-claude-meatproxy"]
schema_version: "newruntime-agent-readable-v0.2"
stable_id: "post:avoiding-being-a-meat-proxy-with-claude-code-21e7c2"
status: "published"
visuals: []
editor: {"role":"editor","name":"Andrey Reshetnikov","profile":"https://newruntime.com/owner-profile.md","profile_json":"https://newruntime.com/owner-profile.json","same_as":["https://www.linkedin.com/in/reshetnikov1/","https://t.me/lapetuse"]}
routes: {"html":"https://newruntime.com/posts/avoiding-being-a-meat-proxy-with-claude-code-21e7c2/","markdown":"https://newruntime.com/posts/avoiding-being-a-meat-proxy-with-claude-code-21e7c2.md","json":"https://newruntime.com/posts/avoiding-being-a-meat-proxy-with-claude-code-21e7c2.json"}
markdown_url: "https://newruntime.com/posts/avoiding-being-a-meat-proxy-with-claude-code-21e7c2.md"
---

# Avoiding being a Meat Proxy with Claude Code Mods

## Retrieval answer

A developer used Claude Code Mods to change the existing /copy command so copied assistant text includes the model name and an attribution wrapper. The example shows how a user can adapt a coding-agent harness to a personal workflow without introducing a new command or changing their muscle memory.

## Summary
A developer used Claude Code Mods to change the existing `/copy` command so copied assistant text includes the model name and an attribution wrapper. The example shows how a user can adapt a coding-agent harness to a personal workflow without introducing a new command or changing their muscle memory.

## What happened
In a post titled “Avoiding being a Meat Proxy with Claude Code Mods,” the author says they dislike forwarding AI-generated text without context, because recipients must spend time unpacking verbose output and may not know where it came from. At the same time, they sometimes need to reuse text from an LLM in a message. Their preferred practice is to edit and reword it where appropriate and make the model’s role visible.

The author had been manually prepending a label such as “Via Claude Sonnet 5.5” before a copied answer. Repeating that step became tedious. They did not want to add a separate `/copy-with-model` skill and change their established behavior, so they tried Claude Code’s Mods system, which the post describes as recently added. The result is a Mod that intercepts the existing `/copy` command.

The supplied TypeScript example registers a handler for the `command.run` event when the command is `copy`. It parses an optional argument as a positive integer: no argument defaults to `1`, while a number selects that assistant response from the session. Invalid values return a usage message. The handler retrieves session messages, filters for non-empty assistant replies, and chooses the requested reply counting backward from the latest. If there is no matching reply, it returns an explanatory message.

Next, the handler obtains the session’s current model and constructs the copied text: a “Via” line with the model name, followed by the selected assistant response inside a Markdown code fence. It calls the UI copy function and reports either that the response was copied with model information or that copying failed. The author says the resulting attribution is automatically inserted whenever they use `/copy`.

The post gives no release version, publication date beyond the supplied page URL, repository, adoption figures, price, or general availability details for Mods. Its evidence is a single personal implementation and account of the outcome, not a benchmark or claim that every Claude Code workflow should use the same convention.

## What the archive adds
[Claude Mods: Flipping the Harness Inside Out](https://newruntime.com/posts/claude-mods-flipping-the-harness-inside-out-11-33c280/) framed Mods as an “Attention Interface” and argued that the harness could become a platform for agent interfaces. This is a new, specific example on that known story: a Mod reshapes an existing command to add attribution, rather than introducing a new interaction surface.

## Trend signal
This example supports [Harness architecture outlives model choice](https://newruntime.com/patterns/harness-architecture-outlives-model-choice/) in a modest, user-level way. The useful change is in the harness around the model: the author adapts command behavior and copy output while leaving the underlying model choice and normal `/copy` habit intact. One personal Mod does not establish a broader adoption trend.

## Why now
The author says they had recently heard about Claude Code’s Mods system and that it had been recently added. The post does not provide a dated product announcement or explain a wider launch timeline, so the timing is limited to that account.

## Why it matters
This is a compact example of a useful boundary for customization: alter the command the developer already uses rather than asking them to remember a new workflow. The Mod also makes provenance part of the copied artifact, where it can travel with the answer instead of relying on the sender to add a label each time.

For teams, the lesson is not to attach a model name mechanically to every output. Attribution does not prove that the text is correct, reviewed, or safe to share, and a model label can be misleading if the conversation includes multiple sources. But when a workflow has a clear provenance convention, automating its insertion at the copy boundary can reduce omission while preserving human review. The post illustrates that a coding-agent harness can be a place to encode such local practices; it does not show how Mods are distributed, governed, or supported across a team.

## Limits and uncertainty
The source is one developer’s account and code example. It does not establish whether the Mod has been tested across Claude Code versions, how Mods are installed or shared, what permissions they require, or whether the copied response always corresponds cleanly to one model in more complex sessions. It offers no evidence that recipients interpret the attribution consistently or that the label changes trust or outcomes. The post also does not compare Mods with hooks, skills, or other customization mechanisms.

## Skill to build now
If your team has a repeated provenance convention for copied model output, prototype it at the point where text leaves the tool. Start with one workflow and test edge cases: multiple assistant replies, invalid selection, empty output, and failed clipboard writes. Decide what the label means—model identity, generation source, or simply AI assistance—and keep the convention from implying review or correctness that has not happened.

## Reader takeaway
A small harness extension can make an existing habit carry useful context automatically. This Mod turns `/copy` into “copy with model attribution,” but the broader value is the workflow pattern: customize the boundary where output moves from the agent to another person, and be explicit about what the added context does—and does not—guarantee.

Editor: [Andrey Reshetnikov](https://newruntime.com/owner-profile.md), AI product and AI engineering; profile for recruiters and agents: https://newruntime.com/owner-profile.json

## Continue in the graph

Next records for an agent, linked to their Markdown twins. Replace `.md` with `.json` for structured fields, including `next_reads`.

- topic hub: [Claude](https://newruntime.com/topics/claude.md): Explore the claude topic hub.
- topic hub: [Claude Code](https://newruntime.com/topics/claude-code.md): Explore the claude-code topic hub.
- collection: [Field Notes](https://newruntime.com/posts.json): Open the latest editorial analysis.
- collection: [Sources](https://newruntime.com/sources/): See the original sources this archive cites.
- whole graph: [discovery graph](https://newruntime.com/discovery-graph.json) (typed nodes and edges) and [site index](https://newruntime.com/site-index.md)
