Despacer
私は一日中ターミナルで Claude Code と Codex を使って仕事をしていますが、どちらも長い行を自分で折り返します。長いコマンドの折り返しをターミナルに任せず、本物の改行と 2 文字分のインデントを書き込んでしまうのです。そのため、実行しようとコマンドをコピーすると、バラバラの状態でペーストされて動きませんでした。
Despacer はこれを解決する小さなメニューバーアプリです。起動しておけば、いつもどおりターミナルでコマンドをコピーするだけで、本来のひとつのコマンドとしてペーストされます。無料でオープンソースです。
GitHub で見る ↗
いつもどおりにコピー&ペースト
新しく覚えることはありません。ターミナルでコマンドを選択して Cmd+C を押し、使いたい場所にペーストするだけです。ペーストするころには、たいてい 100 分の数秒で、Despacer がすでに元どおりにつなぎ直しています。
- ターミナルからのコピーはチェックされ、必要なら修復されます。
- ほかのアプリからのコピーは一切見ません。
- 短いコマンドや普通のターミナル出力など、もともと壊れていないテキストはそのまま残ります。
- 修復が意図と違ったときは、メニューバーの「最後の修正を取り消す」で、コピーしたときのままに戻せます。
まず完全一致、次に折り返しルール
ターミナルにはエージェントの元の改行が届かないため、ターミナルの設定では元に戻せません。Despacer は 2 段階でコピーを修復します。まず即座に、インデントを取り除き、折り返しによって生じた改行をつなぎ直します。次の単語が上の行に収まったかどうかで、その改行が折り返しかどうかを判断します。それ以外の改行と、バックスラッシュで終わる行はそのまま残します。
少しあとで、Claude Code と Codex が Mac に保存しているセッション履歴から、スペースと改行を無視してコピーしたテキストを探します。見つかれば、エージェントが書いたとおりの元のコマンドをクリップボードに入れます。ほとんどのコマンドは折り返しルールだけで正しく直せますが、行の途中から始まる選択のように区別できないケースは、完全一致で確定させます。
いつものターミナルで動く
Despacer は Terminal、iTerm2、Ghostty、Warp、kitty、Alacritty、WezTerm、Hyper、Tabby、Rio に最初から対応しています。ターミナルを内蔵したコードエディタなど、コマンドをコピーするほかのアプリも追加でき、見張ってほしくないアプリはチェックを外せます。触れるのは、それらのアプリが最前面にあるときにコピーしたテキストだけです。
ネットワークなし、何も残さない
Despacer はネットワーク通信を行わず、アカウントも解析もトラッキングもありません。Mac 上の Claude Code と Codex のセッションファイルを読みますが、変更・コピー・アップロードは一切せず、この照合はオフにできます。直近 10 件の修正は取り消せるようメモリ上にだけ保持し、Despacer を終了すると消えます。
動作環境とインストール
Despacer は macOS 14 Sonoma 以降で動作し、MIT ライセンスのもと無料で、9 つの言語に対応しています。現時点では、1 つのスクリプトでソースコードからビルドしてインストールします。所要時間は 1 分ほどで、GitHub の README に手順とすべての設定をまとめています。同じ修復エンジンは、スクリプト用のコマンドラインフィルタとしても使えます。